/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	ITaskSchedule.java
 * 模块说明：	
 * 修改历史：
 * Jun 15, 2007 - lxm - 创建。
 */
package com.hd123.rumba.runtime.backprocess;

import java.util.Date;

import com.hd123.rumba.exception.BusinessException;

/**
 * 后台任务调度 | 接口类
 * 
 * @author lxm
 * 
 */
public interface ITaskSchedule {

  /**
   * 取得相对现在的下次运行的时间。
   * 
   * @return 返回下次运行的时间，如果返回null，表示不再运行。
   * @throws BusinessException
   */
  public Date getNextTime() throws BusinessException;

  /**
   * 取得相对指定时间的下次运行的时间。
   * 
   * @param baseTime
   *          指定基准时间。将返回这个时间之后的下一次运行的时间。允许传入null，表示指定基准时间为现在。
   * @return 返回下次运行的时间，如果返回null，表示不再运行。
   * @throws BusinessException
   */
  public Date getNextTime(Date baseTime) throws BusinessException;

  /**
   * 取得描述信息。
   * 
   * @return
   * @throws BusinessException
   */
  public String getDescription() throws BusinessException;

}
